//
// @desc： 判断权限 - sql使用
// @author：zhc
// @param{scanNetworkCode}           type:String  用户传入网点code
// @param{institutionalLevelId}      type:String  用户传入的权限等级
// @param{networkCode}               type:String  用户登录账户code
//
module.exports = (scanNetworkCode, institutionalLevelId, networkCode) => {
  const NT_HEADQUARTERS = 22; // 网点类型-总部 code:16
  const NT_AGENT_AREA = 334; // 网点类型-代理区 code:17
  const NT_CENTER = 335; // 网点类型-中心 code:18
  const NT_FIRST_LEVEL = 336; // 网点类型-一级网点 code:19
  const NT_SECOND_LEVEL = 337; // 网点类型-二级网点 code:20
  switch (+institutionalLevelId) {
    case NT_HEADQUARTERS: // 如果是总部登录则不加条件
      if (scanNetworkCode) {
        return `and scansitecode='${scanNetworkCode}'`; // 如果用户传入字段scanNetworkCode则拼接网点code字段
      }
      return '';
    case NT_AGENT_AREA: // 如果是代理区登录则传入代理区标识和搜索的网点
      if (scanNetworkCode) {  // 如果用户传入字段scanNetworkCode则拼接代理区字段
        return `and subordinate_agent_code='${networkCode}' and scansitecode='${scanNetworkCode}'`;
      }
      return `and subordinate_agent_code='${networkCode}'`;
    case NT_CENTER: // 如果是转运中心登录则传入转运中心自身的code
      return `and scansitecode='${networkCode}'`;
    // 如果是网点登录则传入自身网点的code
    case NT_FIRST_LEVEL || NT_SECOND_LEVEL:
      return `and scansitecode='${networkCode}'`;
    default:
      return `and scansitecode='${networkCode}'`;
  }
};
